package com.example.cloudcommon.config.clickhouse;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Param;

import java.io.Serializable;


public interface CkBaseMapper<T> extends BaseMapper<T> {
    /**
     * @return
     * @Description: 删除并填充删除人信息
     * @param: id 主键id
     */
    boolean updateByIdClickHouse(@Param("et") T entity);


    /**
     * @return
     * @Description: 删除并填充删除人信息
     * @param: id 主键id
     * @date: 2020/11/10 11:47 上午
     */
    boolean updateClickHouse(@Param("et") T entity, @Param("ew") Wrapper<T> updateWrapper);

    /**
     * 主键删除
     *
     * @param id
     * @return
     */
    int deleteByIdClickHouse(Serializable id);

    /**
     * 根据queryWrapper删除
     *
     * @param queryWrapper  Wrapper<T>
     * @return int
     */
    int deleteByWrapCk(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
}
